package leetcode_1000;

import java.util.HashSet;
import java.util.Set;

/**
 *@author 周杨
 *UniqueEmailAddresses_929 给出合法邮件的个数
 *describe:常规题
 *2018年10月28日 上午11:15:38
 */
public class UniqueEmailAddresses_929 {
	
	public static void main(String[] args) {
		UniqueEmailAddresses_929 test=new UniqueEmailAddresses_929();
		System.out.println(test.numUniqueEmails(new String[] {
				"test.email+alex@leetcode.com","test.e.mail+bob.cathy@leetcode.com","testemail+david@lee.tcode.com"
		}));
	}
	
	public int numUniqueEmails(String[] emails) {
        Set<String> set=new HashSet<String>();
        for(String email:emails) {
        	String[] strs=email.split("\\@");
        	int plus=strs[0].indexOf("+");
        	if(plus==-1)//没有的话那么考虑全部
        		plus=strs[0].length();
        	StringBuilder sb=new StringBuilder();
        	for(int i=0;i<plus;++i) {
        		char c=strs[0].charAt(i);
        		if(c!='.') {
        			sb.append(c);
        		}	
        	}
        	set.add(sb.append("\\@").append(strs[1]).toString());
        }
        return set.size();
    }
}
